package jvm;

/**
 * 方法去
 *
 * 存储了每一个类的结构信息
 * 方法区是规范,在不同的虚拟机里实现是不一样的,最典型的就是永久代和元空间
 *
 * 方法区 f = new 永久代
 * 方法区 f = new 元空间
 *
 *
 * 实例变量存在堆内存中,和方法区无关
 *
 *
 *
 * stack
 * 栈管运行 堆管存储
 *
 * 栈也叫栈内存,主管java程序的运行,是在线程创建时创建,它的生命周期是跟随线程的生命周期,线程结束栈内存也就释放,对于栈来说不存在垃圾回收问题.
 * 只要线程一结束该栈就over,生命周期和线程一致,是线程私有的.
 * 8种基本类型的变量+对象的引用变量+实例方法都是在函数的栈内存中分配
 *
 * 栈帧中主要保存3种数据
 * 本地变量:输入参数,输出参数,方法内的变量
 * 栈操作:记录出栈入栈的操作
 * 栈帧数据:包括类文件方法等
 */
public class JVMNote {

    //输入参数,输出参数,方法内的变量
    public int add(int x,int y){
        int result = -1;
        result = x + y;
        return result;
    }

    public static void m1() throws InterruptedException {
        System.out.println("2222");
        System.out.println("m1ddddd");
        System.out.println("33333");
        Thread.sleep(Integer.MAX_VALUE);
    }

    public static void main(String args[]){

    }
}
